#block-job-search {
    width: 100% !important;
    padding: 0px !important;
    margin: 0px !important;
    max-width: 100% !important;
}

#block-job-search .row,
.page-body-wrapper {
    width: 100% !important;
}

#block-job-search .jobs {
    margin: 10px !important;
    border: solid #EEE 1px;
}

#block-job-search .jobs:hover {
    border: solid #999 1px;
    /*cursor: pointer;*/
}

#job-list {
    min-height: 200px;
}

#block-job-search span.info {
    background-color: #888;
    padding: 3px;
    font-size: 0.7em;
    color: #fff;
}

.link-button {
    display: inline-block;
}

a .card-header .card-title,
a .card-body {
    color: #222 !important;
}

.entry-content {
    width: 100% !important;
    padding: 0px !important;
    margin: 0px !important;

}

#frm-search-job {
    width: 100% !important;
    max-width: 100% !important;
}

.job-description {
    padding: 20px !important;
}

#block-job-search .job {
    margin-bottom: 20px !important;
}

#job-detail .card,
#job-detail .card-header,
#job-detail .card-title {
    width: 100% !important;
    max-width: 100% !important;
}

#job-detail>div {
    padding-top: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.interval {
    padding: 6px;
    color: #AAA;
}

#job-apply div.row {
    padding: 2px 2px !important;
}

.container-apply-job .card-body {
    padding: 10px;
}

.rating .fa-star {
    color: #EEE;
    font-size: 1.5em !important;
}

.rating .fa-star:hover {
    cursor: pointer;
}


.rating .fa-star.highlighted {
    color: goldenrod;
}

.ratting-selected {
    color: goldenrod
}

.job-list .job {
    border: 1px solid #EEE;
}

.job-list .job.active,
.job.hover {
    border: 1px solid #999;
}

.card.job {
    margin-bottom: 10px;
}

.page-link.active {
    background-color: #3d75a8 !important;
    color: #FFF !important;
}

.job.applied {
    border: 1px solid green;
    background-color: #d2f8d2;
}

#job-title-suggestion {
    position: absolute;
    cursor: pointer;
    z-index: 12;
    background-color: #FEFEFE;
    border: 1px solid #EEE;
}

.suggestion.job.title {
    padding: 5px;
    margin-bottom: 1px;
    background-color: #fff;
    /*border: 1px solid #EEE;*/

}

.suggestion.job.title:hover {
    font-weight: bold;
}

.rate .rating {
    text-align: right;
}


.question {
    padding: 11px 0px !important;
}

.col-md-8 {
    margin-bottom: 10px;
}

#basic-info-overlay {
    position: absolute;
    opacity: 0.4;
    z-index: 14;
    background: #EEE;
}

.card {
    margin: 20px 0px;
}

.loading-overlay {
    position: absolute;
    opacity: 0.4;
    z-index: 14;
    background: #EEE;
}



.rate .rating {
    text-align: right;
}

/*
#frm-search-job.apply{
    width: 90%;
    margin: 8px;
}*/

@media only screen and (max-width: 600px) {
    .rate .rating {
        text-align: left;
    }


}

.label.bg-secondary {
    display: inline-block;
    margin-bottom: 10px;
}



#frm-search-job div {
    padding: 0px;
}

.detail-image {
    padding: 0px;
    padding-right: 3px;

}



@media only screen and (max-width: 600px) {
    .rate .rating {
        text-align: left;
    }

    #frm-search-job div {
        padding: 0px;
    }

    button.btn-primary {
        width: 100%;
    }

    #frm-search-job.apply .card {
        margin: 15px !important;
    }

}

.ast-article-single {
    background: none !important;
}

.sticky-div {
    box-sizing: border-box;
    min-width: 0;
    min-width: auto;
    position: -webkit-sticky;
    position: sticky;
    top: 1rem;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
}


.css-1tyeqml {
    box-sizing: border-box;
    margin-block: 0px;
    margin-inline: 0px;
    min-inline-size: 0px;
    min-width: 320px;
    max-width: 80%;
    margin: 0px auto;
    padding-top: 0px;
    padding-bottom: 0px;
}

.css-1tyeqml-60 {
    box-sizing: border-box;
    margin-block: 0px;
    margin-inline: 0px;
    min-inline-size: 0px;
    min-width: 320px;
    max-width: 60%;
    margin: 0px auto;
    padding-top: 0px;
    padding-bottom: 0px;
}

/* Apply 100% max-width for screens smaller than 768px (typical mobile devices) */
@media (max-width: 768px) {
    .css-1tyeqml-60 {
        max-width: 100%;
    }
}

.css-z7tuc2 {
    position: relative;
}

.ehf-header #masthead {

    border-bottom: 1px solid #ccc !important;
    background-color: white !important;
}

.application-form input:not([type=file]):not([type=checkbox]):not([type=radio])
.application-form select,
.application-form textarea {
    border-radius: 8px !important;
    padding: .5rem !important;
    background: white !important;
    border-color: #ccc;
}

.application-form label:not(.btn-group>label) {
    color: #000 !important;
    font-weight: 500 !important;
}

.application-form input[type="file"] {

    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
    border-bottom-right-radius: 8px;
    border-top-right-radius: 8px;

    height: 2.9rem !important;

    padding-top: 0.6rem !important;
    padding-right: 0.75rem !important;
    padding-bottom: 0.6rem !important;
    padding-left: 0.75rem !important;

}

.application-form .input-group-text {
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
    background-color: white;
}

.application-form .input-group .form-control {
    border-bottom-left-radius: 0px !important;
    border-top-left-radius: 0px !important;
}

.css-z7tuc2 .card {
    height: 95% !important;
}

.portal-apply *:not(h1, h2, h3, h4, h5, h6, button, a) {
    color: #000;
}

@media (min-width: 992px) {
    .css-z7tuc2 {
        box-sizing: border-box;
        margin-block: 0px;
        margin-inline: 0px;
        min-inline-size: 0px;
        width: 45%;
        height: 100%;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        -moz-box-pack: center;
        justify-content: center;
        background-color: rgb(250, 249, 248);
        position: fixed;
        display: flex;
        top: 0px;
        right: 0px;
        left: auto;
        padding-top: 80px;
        padding-bottom: 20px;
    }
}

.ast-container 
{
    max-width: 100% !important;
}
.custom-gap
{
    padding-top: 1rem;
}

@media (min-width: 993px) {

    .ast-separate-container #primary
    {
        margin: 1.25rem 0 !important
    }
}

/* Default styles for very small screens (mobile) */
.vert-scroll-320 {
    max-height: 35vh;
    overflow-y: auto;
}

/* Small screens (tablets) */
@media (min-width: 576px) {
    .vert-scroll-320 {
        max-height: 40vh;
    }
}

/* Medium screens (larger tablets and small desktops) */
@media (min-width: 768px) {
    .vert-scroll-320 {
        max-height: 45vh;
    }
}

/* Large screens (desktops) */
@media (min-width: 1024px) {
    .vert-scroll-320 {
        max-height: 50vh;
    }
}

/* Extra large screens (large desktops) */
@media (min-width: 1601px) {
    .vert-scroll-320 {
        max-height: 60vh;
    }
}

.invalid-feedback 
{
    color: #dc3545 !important;
}

.form-control.is-invalid
{
    border-color: #dc3545 !important;
    padding-right: calc(1.5em + .75rem) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right calc(.375em + .1875rem) center !important;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem) !important;
}

.btn-outline-primary:active {
    color: #fff;
    background-color: #3d75a8;
    border-color: #3d75a8;
}

button.btn-schedule-slot.selected {
    color: #fff !important;
    background-color: #3d75a8 !important;
    border-color: #3d75a8 !important;
}

button.btn-schedule-slot {
    color: #000 !important;
    background:none !important;
    
}

.btn-outline-primary 
{
    border-color: #3d75a8 !important;
}

.portal-apply .date-header {
    padding: 2px;
}

.slot-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    justify-content: center;
}

.btn-primary {
  color: #fff !important;
  background-color:#3d75a8 !important;
  border-color: #3d75a8 !important;
  box-shadow: 0 .125rem .25rem #54aaf766 !important;
}

.progress-bar {
    background-color: #3d75a8 !important;
    color: #fff !important;
    box-shadow: 0 2px 4px 0 rgba(84, 170, 247, 0.4) !important;
}

.form-check-input:checked {
    background-color: #3d75a8 !important;
    border-color: #3d75a8 !important;
}
.portal-apply .datepicker-inline {
    width: 50% !important;
}

.portal-apply .datepicker-inline table {
    border-collapse: separate !important;
    border-spacing: 5px !important;
}

ul.list-group{
    margin-left:0.8rem !important;
}

.portal-apply .datepicker table, 
.portal-apply .datepicker table td,
.portal-apply .datepicker table th 
{
    border: none !important;
}

.portal-apply table tr td.active,
.portal-apply .datepicker table tr td.active.disabled,
.portal-apply .datepicker table tr td.active.disabled:hover,
.portal-apply .datepicker table tr td.active.active,
.portal-apply .datepicker table tr td.active:hover {
    background-color: #3d75a8 !important;
    background-image: none !important;
}

.iti.iti--allow-dropdown {
    width: 100% !important;
}

.webm-video-dimensions, .video-js {
    width: 100% !important;
    height: 360px !important;
}

.video-thumbnail-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.play-button-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    /* Adjust the size as needed */
    color: white;
    opacity: 1;
    pointer-events: none;
    z-index: 4444 !important;
    /* Allows click to pass through to the image */
}

.play-button-overlay i {
    border-radius: 50%;
    padding: 10px;
}

.portal-apply .datepicker .day:not(.disabled, .old, .new) {
    background-color: #6694BD !important;
    color: #fff;
}

/* Optional: Make hovered dates rounded */
.portal-apply .datepicker table tr td.active.day:not(.old, .new),
.portal-apply .datepicker table tr td.day:hover:not(.disabled, .old, .new) {
    background-color:#3d75a8  !important;
    
}

/* Hide the numbers inside previous and next month's dates */
.portal-apply .datepicker table tr td.day.new,
.portal-apply .datepicker table tr td.day.old,
.portal-apply .datepicker table tr td.day.old.active {
    color: transparent !important;
    /* Hide text */
    pointer-events: none !important;
    /* Prevent selection */
}

/* Optionally, remove the background hover effect */
.portal-apply .datepicker table tr td.day.new:hover,
.portal-apply .datepicker table tr td.day.old:hover,
.portal-apply .datepicker table tr td.day.old.active:hover {
    background-color: transparent !important;
    cursor: default !important;
}

.portal-apply .time-button {
    background: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    padding: 5px !important;
    border-radius: 100px !important;
    margin-bottom: 5px !important;
    text-align: center !important;
}

.portal-apply table {
    border: 0 !important;
}

.portal-apply .time-button {
    font-size: 15px !important;
    font-weight: 400 !important;
    width: 120px !important;
}

.portal-apply .btn-wrapper {
    width: 300px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    row-gap: 5px !important;
    column-gap: 8px;
    justify-content: center !important;
    padding: 10px;
}

.w-300-px{
    width: 250px !important;
}


/* Apply background and text color */
.portal-apply .flatpickr-calendar {
    background: transparent !important;
    color: #000 !important;
    border: 0px solid transparent !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;

}

/* Header (Month & Year) */
.portal-apply .flatpickr-months {
    color: #000 !important;
}

.portal-apply .flatpickr-month {
    color: #000 !important;
}

.portal-apply .flatpickr-current-month input {
    color: #000 !important;
}

/* Navigation Arrows */
.portal-apply .flatpickr-prev-month,
.portal-apply .flatpickr-next-month {
    color: #000 !important;
}

.portal-apply .flatpickr-prev-month svg,
.portal-apply .flatpickr-next-month svg {
    stroke-width: 2;
    /* Increase thickness */
    stroke: #000;
    /* Change color if needed */
    width: 14px;
    /* Adjust size */
    height: 14px;
}

/* Weekday Labels */
.portal-apply .flatpickr-weekdays {
    background: transparent !important;
}

.portal-apply .flatpickr-weekday {
    color: #000 !important;
}

.portal-apply .flatpickr-day {
    color: #000 !important;
    background: transparent !important;
    border-radius: 50%;
}

.portal-apply .flatpickr-day:not(.flatpickr-disabled) {
    color: #ffffff !important;
    background: #80A6DD !important;
    border-radius: 50% !important;
}

.portal-apply .flatpickr-day.selected {
    background: #2589F3 !important;
    border-radius: 50% !important;
}

.portal-apply .flatpickr-day.disabled {
    color: #aaaaaa !important;
    /* Grey out disabled days */
}


.portal-apply .flatpickr-monthDropdown-month {
    font-weight: bold !important;
}

.portal-apply .has-event::after {
    content: "•";
    font-size: 14px;
    color: #fff;
    /* Orange dot */
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
}

/* Make the selected month & year bold */
.portal-apply .flatpickr-calendar .flatpickr-current-month span.cur-month {
    font-weight: bold !important;
}

.portal-apply .flatpickr-current-month input.cur-year[disabled],
.portal-apply .flatpickr-current-month input.cur-year[disabled]:hover {
    font-weight: bold;
}

.portal-apply .flatpickr-innerContainer {
    justify-content: center;
}

.portal-apply .flatpickr-day:hover:not(.text-muted) {
    background: #2589F3 !important;
}

.portal-apply .flatpickr-day.prevMonthDay,
.portal-apply .flatpickr-day.nextMonthDay {
    visibility: hidden !important;
    /* Hides but keeps space */
    opacity: 0 !important;
    /* Makes them invisible */
    pointer-events: none !important;
    /* Prevents clicking */
}

/* ===== Job Description Content Isolation ===== */
.job-description-content {
    all: initial;
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.job-description-content * {
    max-width: 100% !important;
    box-sizing: border-box;
}

.job-description-content h1,
.job-description-content h2,
.job-description-content h3,
.job-description-content h4,
.job-description-content h5,
.job-description-content h6 {
    color: #222;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 0.5em;
    line-height: 1.3;
}

.job-description-content h1 { font-size: 1.6em; }
.job-description-content h2 { font-size: 1.4em; }
.job-description-content h3 { font-size: 1.2em; }
.job-description-content h4 { font-size: 1.1em; }
.job-description-content h5 { font-size: 1em; }
.job-description-content h6 { font-size: 0.95em; }

.job-description-content p {
    margin: 0 0 0.8em 0;
    color: #333;
}

.job-description-content ul,
.job-description-content ol {
    margin: 0 0 1em 0;
    padding-left: 1.8em;
}

.job-description-content li {
    margin-bottom: 0.3em;
    color: #333;
}

.job-description-content a {
    color: #3d75a8;
    text-decoration: underline;
}

.job-description-content strong,
.job-description-content b {
    font-weight: 700;
    color: #222;
}

.job-description-content em,
.job-description-content i {
    font-style: italic;
}

.job-description-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
}

.job-description-content table th,
.job-description-content table td {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: left;
}

.job-description-content table th {
    background-color: #f5f5f5;
    font-weight: 600;
}

.job-description-content img {
    max-width: 100% !important;
    height: auto !important;
}

.job-description-content br {
    display: block;
    content: "";
    margin-top: 0.3em;
}

.job-description-content hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: 1em 0;
}

.job-description-content blockquote {
    border-left: 3px solid #3d75a8;
    margin: 1em 0;
    padding: 0.5em 1em;
    color: #555;
    background: #f9f9f9;
}

.job-description-content div {
    margin: 0;
    padding: 0;
}

.job-description-content span {
    color: inherit;
}